Updated: Nov. 29, 2021


Up to Date Version


László Dombi

Budapest, Hungary.
Cell: +36-30-645 7067

e-mail: Resume@LeslieDombi.com

Skype: MSN.Messenger@LeslieDombi.com

 

OBJECTIVE

N/A (Currently Employed, Open to New Opportunities)

 

 

Summary

-   Approximately 25+ years of experience in Embedded System programming and debugging

-   Strong ASSEMBLY programming skills and knowledge of computer architectures

-   Extensive experience in digital signal processing - audio and video CODEC, Microsoft DirectShow Filters

-   High level knowledge of C, C++ (C++11, C++14, C++17), Visual C++, C#, Arduino, Pascal and Delphi programming

-   Hands on knowledge of Relational Database Design Principles and Database Systems programming (SQL, MSSQL)

-   Deep knowledge of some Bus Systems (CAN, I²C, SPI, etc.)

-   Some knowledge Web Client side jQuery and AJAX

-   Some (but growing) knowledge of Java

-   Some (hands on) Management experience

-   IT consulting experience

-   Fluent in English and Hungarian

-   Experience in R&D 100 Award Winner product development

 

Languages

-   English: Almost Native-Level fluency established by living in Canada for 8 years (continuously), using English every day (even at home), not using Hungarian at all.

-   Hungarian: Native.

 

Software Knowledge / Skills

-   Pascal, Delphi, Assembly, C, C++ (C++11, C++14, C++17), Visual C++, C#, Database Systems programming (SQL, MSSQL), Arduino Language

-   Some Java experience

-   Microsoft Windows programming: WinAPI and Kernel Drivers, DirectShow Filters (Source, Transfer and Render filters)

-   DSP programming and theoretical digital signal processing

-    Assembly (including the protection system, MMU and MMX instruction set of x86 processor family, MAP family (such as MAP-CA), microcontrollers (PIC 84x family), Texas TMS family, Z80)

-    Multiprogramming (Multitasking/Multiprocessor Systems)

-    Highly concurrent thread-based architectures

-   Embedded system multiprogramming under VxWorks operating system

 

 

PROFESSIONAL EXPERIENCE

 

Senior Software Engineer @ River Factoring Zrt. – February 2021 - Present (Budapest, Hungary)

-   Developing and implementing Class Libraries for a Trading Server, such as loggers, extension methods, data converters, market data sources, DLL encapsulated “C# scripts”, etc. [written in C#] [environments used: Visual Studio 2017 & 2019]

-   Developing and implementing single-file “C# scripts” for a Trading Server, such as virtualization wrappers, method call analyzers, minimal sample “scripts”, etc. [written in C#]

-   Creating Visual Studio 2017 & 2019 projects for building the aforementioned Class Libraries [environments used: Visual Studio 2017 & 2019]

-   Creating Visual Studio 2017 & 2019 projects for test building the aforementioned single-file “C# scripts” to see if they would compile in the Trading Server [environments used: Visual Studio 2017 & 2019]

-   Developing and implementing Windows Services to collect real-time data from a Liquidity Provider (to use is in Back Testing as Historical Data) [written in C#] [environments used: Visual Studio 2017 & 2019]

-   Developing and implementing data converters, splitters and mergers for the collected historical data [written in C#] [environments used: Visual Studio 2017 & 2019]

-   Developing and implementing Unit Test and Profiling solutions for the aforementioned Class Libraries and single-file “C# scripts” [written in C#] [environments used: Visual Studio 2017 & 2019]

-   Developing and implementing an “Oder Book (Market Depth) aware” trading algorithm [written in C#] [environments used: Visual Studio 2017 & 2019]

-   Developing and implementing an order tracking system used by the aforementioned trading algorithm [written in C#] [environments used: Visual Studio 2017 & 2019]


 

Senior Software and Firmware Engineer, Full Stack Developer and
Development Coordinator @
ThalesNano Zrt. – June 2019 - February 2021 (Budapest, Hungary)

-   Being instrumental in developing several new products of the company, including the 2021 R&D 100 Award Winner product, marketed under the name of PhotoCube

-   Developing a Full Stack solution for the latest IOT product of the company [written in C++11, C, Arduino Language, Java] [hardware used: ESP32] [technologies used: WiFi (Server and Client), Bluetooth Low Energy (BLE), GATT Characteristics (Server and Client), Web (Server and Client), jQuery, AJAX, Android App] [environments used: Altium Designer, Arduino IDE, Android Studio]

-   Designing and implementing a (distributed, multi-node) BlockChain Core Engine for general usage (mainly for DataBase Protection) [written in C++11] [environments used: Visual Studio 2017 & 2019]

-   Making hardware design decisions and changing the Schematics and PCB (Layout) to meet the EMC requirements of the 2021 R&D 100 Award Winner product PhotoCube [environments used: SOLIDWORDKS PCB]

-   Making hardware design decisions on the latest two product of the company (selecting components, making decisions on the layout of the PCB, designing parts of the circuitry, researching the market for available components)

-   Making software design decisions to make sure that the software can be quickly tailored to the frequently changing requirements

-   Designing and implementing a fully modular and multi-platform (ready) software structure for a new product of the company (so that the modules are fully Unit Testable on any platform) [written in C++11]

-   Designing and implementing a Device Discovery System that checks the presence (and correct functioning) of I²C peripherals that are modularly connected (as the I²C Bus is connected to a remote device)

-   Designing, implementing, testing and documenting the full Software/Firmware of three new products of the company [written in C++11, C, Arduino Language, WinAPI, Java] [hardware used: Arduino Nano, PIC, ESP32] [environments used: Arduino IDE, MPLAB and CCS, Visual Studio 2017, Android Studio]

-   Altering Software/Firmware as per the requests of the Chemists testing/using the products, updating documents/specifications reflecting the changes

-   Designing, building prototypes of and testing an Electromagnetic Stirrer built into the latest product of the company

-   Daily communicating with co-workers of different backgrounds (Management, Sales, Pharmaceutical Chemists, Service Engineers, Mechanical Engineers, Production Technicians, Warehouse Staff)

-   Participating in Management Training Programs (as being selected as a Prospective Leader)

-   Interviewing (and giving opinion on) new Electronic Engineers, preparing tests for the interview process, reviewing the written tests

-   Mentoring a new Electronic Engineer, preparing tests for the interview process, reviewing the written tests

-   Interviewing (and giving opinion on) suppliers for the hardware design and production of a new product of the company

-   Being involved in the design of the Business Logic of two three products of the company

-   Actively participating in the prototype building of three new products of the company (assembling parts, making wires, soldering components, connectors and wirings, building an external programmer for them)

-   Actively participating in the CE Certification process of the 2021 R&D 100 Award Winner product PhotoCube (attending/assisting EMC measurement, collecting/preparing documents, writing Users Manual, preparing Test Procedures)

-   Performing High Current and High Voltage measurements (including documenting their results) [instruments used: HIAMP II – GROUND BOND TESTER (Model 3140), HIPOT III – DIELECTRIC WITHSTAND TESTER (Model: 3705)]

 

Sr. Software Engineer and Chief Technology Officer @ MyProducts Kft. – September 2018 - June 2019 (Budapest, Hungary)

-   Designing and creating a Crypto Currency (a Utility (Fork) Coin based on Bitcoin Technology) meeting custom business requirements, setting technology specific parameters, creating Source Code, building the Core System

-   Assisting the CTO with business decisions/calculations, providing input for higher level business decision

-   Giving feasibility estimates of Business Plans/Proposals

-   Preparing and performing calculations for Crypto Currency Mine designs

-   Attending business meetings assisting the CEO with answering “on the spot” technology related questions

-   Studying the Bitcoin Core System to gain a deep understanding of the system and its possible weaknesses, error scenarios (synching, mining, banning, block propagation, etc.)

-   Setting up and maintaining a build environment capable of building and deploying Bitcoin Based Core code (Bash scripting on Ubuntu 18.04.1 LTS basis)

-   Designing and implementing modifications/features of the Crypto Currency (in C++11 code) required by Business Plans

-   Designing and implementing diagnostic and tracing solutions to investigate various internal processes of the Crypto Currency

-   Continuously testing all possible error scenarios of the Crypto Currency Core System, assuring no interference with other Bitcoin based systems

-   Setting up and maintaining an isolated Live Network (not the built-in TestNet3 variant) that is capable of running real transactions for test various scenarios

-   Setting up and maintaining a build environment capable of building and deploying mSIGNA Wallet code (Bash scripting on Ubuntu 14.04.5 LTS basis)

-   Designing and implementing modifications of the mSIGNA Wallet (in C++11 Code) required by the Crypto Currency Core System

-   Supervising and maintaining the Core System of the Crypto Currency, assuring the 24/7 availability


 

Senior Software Engineer @ Robert Bosch GmbH – July 2014 - August 2018 (Budapest, Hungary)

-   Video Processing using DirectShow Filter Graphs for an Automotive Demo Project

-   Designing and implementing Application Specific DirectShow Filters: Signal Switching Filters, Video Blending Transfer Filter, Video Effect Transfer Filters, Video Image Source Filters, Control Signal Source Filters for the Demo Project

-   Designing and implementing a Controller Program (Windows API) for the Demo Project

-   Designing and implementing a (Serial) Communication Interface Program (Windows API) that transfer control signals between the Serial Port and the Controller Program for the Demo Project

-   Designing and implementing a program that controls the “Flashing Over Ethernet” process of an Instrument Cluster through either Serial Port or Ethernet (making Batch-Flashing possible) [written in C++, Windows Con32 application]

-   Reviewing existing Embedded C code utilizing my previous experience in VxWorks (in order to eliminate a profiling unit from production code)

-   Setting up measurement methods for monitoring Task State Changes under VxWorks (and monitoring Start-Up sequences)

-   Designing and implementing a program that breaks the “Flash Test” process of an Instrument Cluster in case an error is detected (so then a Memory Dump can be saved) [written in C++, Windows Win32 application]

-   Implementing and Optimizing (for speed) some Standard CRC algorithms (CRC-8/I-CODE, CRC-16/CCITT-FALSE, CRC-32, CRC-32/CCITT, CRC-64/WE) for 32 and 64 bit systems (taking alignment into account) [written in ANSI C]

-   Adding 5 new Diagnostic Services to an Instrument Cluster (all of the aforementioned CRC algorithms) so Flash CRC Hash can be obtained through diagnostic lines (CAN, MOST) on the production lines, filtering out faulty Flash chips

-   Designing and implementing “Diag Daemons” that are “virus like” diagnostic libraries downloadable to a target, taking control over the OS, performing various diagnostic jobs (mostly the test of the external RAM) on the Production Line

-   Designing and implementing the build environment and the rest of the development environment of “Diag Daemons”, including templates and frameworks

-   Designing and implementing “Self Linking Plugs” that are “virus like” binaries downloadable to a target, linking themselves to the running system in run-time, providing support for “Diag Daemons” in a software environment lacking the native support

-   Designing and implementing run-time profiler features to catch very sporadic errors in legacy/production code

-   Real-Time debugging and fixing driver code: Audio, I2C, MOST, Stepper Motor, etc.

-   Analyzing complex error chains of software modules to locate the root cause of highly sporadic errors: As part of this, implementing special diagnostic features, such as delayed, non-invasive logging, and alternative to logMsg of VxWorks

-   Analyzing performance bottle necks in a legacy system and then fixing substantial performance issues: Decreasing (decimating) the CPU load of the base system (OS and drivers without application) from 50% to 5%

-   Remaking the final production binary composition process for development builds: Speeding it up from 20 minutes to 0.25 second (a quarter second)

-   Stabilizing the current legacy code, fixing long existing bugs

-   Extending the ARH (APIX Remote Handler) API for compatibility with later implemented advanced features

-   Designing and implementing the roots of Protection Handler mechanism of the ARH (APIX Remote Handler) interface based on the previously implemented API extensions

-   Resource virtualization based on the previously implemented Protection Handler mechanism of the ARH (APIX Remote Handler)

-   Designing and implementing a built-in real-time resource access monitoring system based on the previously implemented Protection Handler mechanism of the ARH (APIX Remote Handler)

-   Writing and merging INDIGO (MB88F333) scripts that initialize peripherals of the instrument cluster

-   Remaking the build system for INDIGO scripts

-   Designing and implementing a system for flashing INDIGO scripts to the instrument cluster

-   Configuring a special version of a VxWork kernel (Reserve Ethernet Kernel) loaded with functions supporting development tasks

-   Designing and implementing “Delta Flashing”, a development software update method using the special version of a VxWork kernel (Reserve Ethernet Kernel): Reducing the flashing time from 9 minutes to 15 seconds

-   Creating a new way of development software update using the special version of a VxWork kernel (Reserve Ethernet Kernel): Solving the issue of usage of the discontinued Wind River ICE 2

-   Creating various development tools used by other team members

-   Being an essential member of a group that made possible to start production of an Instrument Cluster of high profile BMW cars

 

Senior Software Engineer and Chief Software Architect @ MediaPrizma – December 2011 – May 2014 (Debrecen, Hungary)
                [March 2014 – May 2014: Company Transferred All its Employees and Assets to Take5 Games Ltd.]

-   Server side programming of an Online Gaming system

-   Designing and implementing the Game Adapter and Game Engine, the modules that are responsible for the Game Logic

-   Optimizing the Game Adapter for speed and minimal Data Base load

-   Optimizing some of the very frequently use data conversion algorithms for speed, such as Base64 Encoder and Decoder

-   Stabilizing the current server code, fixing long existing bugs, implementing inline tracing systems

-   Designing system architecture for Third Party Game Logic implementation

-   Writing Stored Procedures for Microsoft SQL Server 2008 with Transaction Handling in order to keep Database Integrity

-   Designing and implementing base Scheduler Classes that schedule action processing utilizing a O(1) Scheduler algorithm (designed by me) inside the server in a heavily multithreaded environment

-   Designing and implementing internal diagnostic and statistic units that are optionally compiled out of the Released Product

-   Designing and implementing Mass e-mail and SMS Dispatcher units that are capable of sending hundreds of thousands of messages in reasonable time

-   Designing and implementing Automated Object Pools that are capable of pre-creation objects that are expensive to create, also managing the recycling of these objects

-   Designing and implementing of Base Classes of Query Caches to reduce Database load

-   Designing and implementing Container Classes that guarantee O(1) time complexity of insertion and searching

-   Optimizing the server for performance and stability by redesigning and re-implementing essential units/classes

-   Implementing Lock-Free synchronization devices by using the atomic instructions (such as CAS, Bit Test Set, Atomic Increment, Atomic Decrement) of the Intel x86/x64 CPU

-   Implementing True Random Generator by using the DRNG subsystem (if available) of the Intel x86/x64 CPU, creating query functions that distribute generated random numbers to servers without native DRNG support

-   Preparing (logical and programming) test questions for and interviewing prospective employees (developers and engineers)

-   Giving opinion on and (sometimes) selecting new members of the team based on the interview and tests

-   Giving opinion on new employees (mostly developers and engineers) based on their performance in their first 3 months

 

Electronics Engineer @ Csonka Gábor E.V. – July 2011- December 2011 (Budapest & Debrecen, Hungary)
                                                                                                                                                       [Based in Budapest, Hungary]

-   Designed and implemented electronic circuitry for a PCB manufacturing factory (Continental Temic)

-   Programmed embedded hardware for a PCB manufacturing factory (Continental Temic)

-   Tested freshly built circuit boards (as Test Engineer)

 

Senior Software Engineer @ Real Networks – October 2008 - July 2011 (from Toronto, Ontario, Canada)
                [Based in Seattle, Washington, USA]

-   Optimized codes on Intel Pentium using MMX and SSE instructions

-   Transferred codes between different hardware platforms

-   Developed and implemented algorithms for MPEG4 video codec (Motion Estimation, Motion Compensation, Motion Search, DCT, iDCT)

 

Self Employment as Senior Software Engineer – February 2004 - October 2008 (Toronto, Ontario, Canada)
                [Founding Member and a Director of Shinji Ikari Robotics Corporation]

-   Implemented image processing and audio processing filters

-   Developed and implemented lossless video and audio compression methods

-   Started to work on a highly reliable file system for multitasking systems

-   Developed and implemented applications for clients for Windows platform

-   Developed and implemented Back-End (Position Liquidation) solutions for client (ACM - Advanced Currency Markets acquired by Swissquote FX)

-   Developed and implemented trading algorithms for clients (such as ACM - Advanced Currency Markets acquired by Swissquote FX)

-   Developed encryption algorithms individually for clients (such as CSIS - Canadian Security Intelligence Service)

-   Designed and implemented low level software systems for robotics related embedded hardware solutions

-   Optimized DSP codes mainly for Intel Pentium

 

Software Engineer @ MediaTechnik Ltd (formerly AOLSOFT Corporation)– May 2002 - February 2004 (Debrecen, Hungary)

-   Instrumental part of team that developed the Global Motion Compensation part of MPEG4 Video CODEC

-   Developed and implemented Acoustic Echo Cancellation module for video conferencing

-   Developed and implemented ADPCM based Audio CODEC (LD Coding Software)

-   Developed and implemented the Audio and Video Engine, looked for and fixed the bugs in timing in the server program and in the application, created multimedia streams for an RTP Streaming Demo for the Motorola Corporation. (Motorola Demo)

-   Developed and implemented modules for video recording and playback systems for the IPT (International Police Technologies)

-   Developed and implemented data storage and transmission modules for video-audio remote systems for bomb-searching robots

 

Software Engineer @ Liberate Technologies, Inc. – January 2002 - May 2002 (London, Ontario, Canada)

-   Consulting Engineer for Java application integration for satellite receivers

 

Software Engineer @ AOLSOFT Corporation – February 2001 - January 2002 (Debrecen, Hungary)

-   Embedded system programming (DSP based Multimedia Systems, Video Conferencing through Internet, Video On Demand, Video/Audio Streaming, etc)

-   Developed and implemented the DVR (stream processing of audio, video decoding and encoding, time shift, trick play functions) part of an Internet TV product

-   Optimized H.263 CODEC for speed


 

System Engineer @ Budapest University of Technology and Economics – September 1998 - Jun 2001 (Budapest, Hungary)

-   Worked as System Engineer

-   Developed hardware and low level software for experimental robots

 

Self Employed as Electronics Engineer – September 1993 - February 2001 (Budapest & Debrecen, Hungary)
                [Based in Debrecen, Hungary]

-   Developed hardware and software solutions for customer (Switching Mode Power Supplies, Data Acquisition, DSP, etc)

-   Helped the family business with machine designs (control electronics, measurement interfaces, software modeling)

 

 

EDUCATION

 

M.Sc. @ Budapest University of Technology and Economics (Wikipedia) – September 1993 - Jun 2001

-   M.Sc. in Electronics Engineering with Robotics Major

 

 

AWARDS

 

1st prize @ OKTV – April 1992

-   April 1992: Awarded the 1st prize on the OKTV nationwide physics competition

-   May 1992: Was a member of the Olympic group of the international physics competition